package com.ysmygx.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 委托方支付记录对象 biz_transfer
 *
 * @author cloudwood
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BizTransfer extends BaseEntity {

    /**
     * 自增ID
     */
    private Long id;

    /**
     * fk，关联ID，委托加工费关联分账表，原木订单款关联原木订单，采购员提现关联withdraw表
     */
    private Long referId;

    /**
     * fk，委托方ID，company表id
     */
    private Long principalId;

    private String principalName;
    /**
     *
     * 交易流水号: 客户号 + 相应的单号(0委托加工费 取单板订单号，1支付原木订单款 取原木订单号，2采购员提现 取采购员提现号) + 4位随机号 + -（支付次数）
     */
    private String orderFlowNo;

    /**
     * 交易金额
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#.##")
    private BigDecimal payAmount;

    /**
     * 支付类型，0委托加工费，1支付原木订单款，2采购员提现
     */
    private Integer payType;

    /**
     * 支付请求发送状态：0未发送，1已发送
     */
    private Integer sendStatus;

    /**
     * 银行返回指令状态：02-待授权，90-成功，91-失败，95-银行处理中，99-可疑
     */
    private String orderState;

    private String orderMessage;

    private String hostFlowNo;

    /**
     * 发送时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sendTime;

    /**
     * 付款账号
     */
    private String payAccount;

    /**
     * 付款户名
     */
    private String payAccountName;

    /**
     * 收款账号
     */
    private String recAccount;

    /**
     * 收款户名
     */
    private String recAccountName;

    /**
     * 收款行名
     */
    private String recAccountBank;

    /**
     * 用途
     */
    private String payUse;

    /**
     * 是否删除
     */
    private Integer isDelete;


}
